home *** CD-ROM | disk | FTP | other *** search
/ PC PowerPlay 58 / pcpp58a.iso / extras / quake 3 source / Q3A_ToolSource.exe / Main / ENTITY.H < prev    next >
Encoding:
C/C++ Source or Header  |  2001-01-02  |  2.3 KB  |  56 lines

  1.     // entity.h
  2.  
  3.     void Eclass_InitForSourceDirectory (char *path);
  4.     eclass_t *Eclass_ForName (char *name, qboolean has_brushes);
  5.     
  6.     // forward declare this one
  7.     class IPluginEntity;
  8.     
  9.     typedef struct entity_s
  10.     {
  11.         struct entity_s    *prev, *next;
  12.         brush_t        brushes;                    // head/tail of list
  13.          int            undoId, redoId, entityId;    // used for undo/redo
  14.         vec3_t        origin;
  15.         eclass_t    *eclass;
  16.         epair_t        *epairs;
  17.         eclass_t  *md3Class;
  18.         IPluginEntity *pPlugEnt;
  19.       vec3_t vRotation;   // valid for misc_models only
  20.       vec3_t vScale;      // valid for misc_models only
  21.     } entity_t;
  22.     
  23.     char     *ValueForKey (entity_t *ent, const char *key);
  24.     void    SetKeyValue (entity_t *ent, const char *key, const char *value);
  25.     void     SetKeyValue (epair_t *&e, const char *key, const char *value);
  26.     void     DeleteKey (entity_t *ent, const char *key);
  27.     void     DeleteKey (epair_t *&e, const char *key);
  28.     float    FloatForKey (entity_t *ent, const char *key);
  29.     int        IntForKey (entity_t *ent, const char *key);
  30.     void     GetVectorForKey (entity_t *ent, const char *key, vec3_t vec);
  31.     
  32.     void        Entity_Free (entity_t *e);
  33.     void        Entity_FreeEpairs(entity_t *e);
  34.     int            Entity_MemorySize(entity_t *e);
  35.     entity_t    *Entity_Parse (qboolean onlypairs, brush_t* pList = NULL);
  36.     void        Entity_Write (entity_t *e, FILE *f, qboolean use_region);
  37.     void        Entity_WriteSelected(entity_t *e, FILE *f);
  38.     void        Entity_WriteSelected(entity_t *e, CMemFile*);
  39.     entity_t    *Entity_Create (eclass_t *c);
  40.     entity_t    *Entity_Clone (entity_t *e);
  41.     void        Entity_AddToList(entity_t *e, entity_t *list);
  42.     void        Entity_RemoveFromList(entity_t *e);
  43.     
  44.     void        Entity_LinkBrush (entity_t *e, brush_t *b);
  45.     void        Entity_UnlinkBrush (brush_t *b);
  46.     entity_t    *FindEntity(char *pszKey, char *pszValue);
  47.     entity_t    *FindEntityInt(char *pszKey, int iValue);
  48.     
  49.     int GetUniqueTargetId(int iHint);
  50.     qboolean Eclass_hasModel(eclass_t *e, vec3_t &vMin, vec3_t &vMax);
  51.     eclass_t* GetCachedModel(entity_t *pEntity, const char *pName, vec3_t &vMin, vec3_t &vMax);
  52.     
  53.     //Timo : used for parsing epairs in brush primitive
  54.     epair_t* ParseEpair(void);
  55.     char *ValueForKey ( epair_t *&e, const char *key);
  56.